package com.ncloud.crm.dubboservice;


import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

public interface QueryInfoDubboService {
	
	/**
	 * 通过项目查找合同
	 * @param json
	 * @return
	 */
	JSONArray getContractByProject(JSONObject json);
	
	/**
	 * 通过项目查找客户
	 * @param json
	 * @return
	 */
	JSONObject getCustByProject(JSONObject json);
	
	/**
	 * 通过合同查找节点信息
	 * @param json
	 * @return
	 */
	JSONArray getNodesByContract(JSONObject json);
	
	/**
	 * 获取登陆用户客户列表
	 * @param json
	 * @return
	 */
	Object getChannelCustByUser(JSONObject json);
	
	/**
	 * 通过项目查找节点列表
	 * @param json
	 * @return
	 */
	JSONArray getNodesByProject(JSONObject json) ;
	
	/**
	 * 获取销售订单
	 * @param json
	 * @return
	 */
	JSONArray getSaleProject(JSONObject json);
	
	/**
	 * 通过客户查找产品信息
	 * @param json
	 * @return
	 */
	JSONArray getProjProdByCustIdAndManager(JSONObject json);
	
	/**
	 * 通过客户查找项目信息
	 * @param json
	 * @return
	 */
	JSONArray getProjectByCustIdAndManager(JSONObject json);
	
	/**
	 * 通过子合同编码查看工单施工状态(施工中、施工完成)
	 * @param json
	 * @return 
	 * */
	JSONArray getWorksByContractInstId(JSONObject json);

	/*
	* 根据登录用户查询合同信息：1：用途我的合同信息 2：我销售的合同信息
	* */
	JSONArray getContractsBySaleOrUser(JSONObject json);

	/*
	* 根据登录用户查询项目信息
	* */

	JSONArray getProjectsBySaleOrUser(JSONObject json);

	/*根据父或者子合同id查询合同和子合同信息*/
	JSONObject getContractsByID(JSONObject json);

	/*查询客户邮箱的唯一*/
	JSONObject isExistsAccount(JSONObject json);

	/*根据客户查询客户下的节点信息*/
	JSONArray getNodesByCust(JSONObject json);
	
	JSONArray getNodesByUser(JSONObject json);

	/*根据订单查询对应的节点信息*/
	JSONArray getNodesByOrder(JSONObject json);
	
	Object getCustList(JSONObject json);
	
	/**
	 * 根据登陆用户查询所属客户信息
	 * @param json
	 * @return
	 */
	JSONObject getCustInfoByUser(JSONObject json);


	/*根据客户和武汉节点code查询设备节点的位置信息*/
	JSONObject getNodePosition(JSONObject json);
}
